// 引入接口文件
import {exportExcel,batchConfirm} from './giftReceiveInfoServ.js'

// 对象和JSON字符串互转
import { parse } from 'qs'
// 弹出消息框
import { message } from 'antd'
// 日期处理对象
import moment from 'moment'
/* isEmpty 对象是否为空
 * isArray 对象是否数组
 * cloneDeep 对象深拷贝
 */
import { isEmpty, isArray, cloneDeep, merge } from 'lodash'
// 引入路由对象
import { hashHistory } from 'dva/router'

import { calculate_object_name } from 'utils/upload'
import { download, makeAddress } from 'utils/util'

// 初始默认状态
const defultState = {
	loading: false,
	btnLoading: false,
	isSubmit:true,
	giftInfoDetail:null,
	biz: {
		queryForm: {},
		selectedRows: []
	  },
}
// 声明module
const tmpModule = {
	// 默认状态
	state: cloneDeep(defultState),
	// 入口函数(先执行)
	subscriptions: {
		setup({ dispatch, history }) {
			history.listen(({ pathname, query }) => {
				// 页面路由匹配时执行
				if ('' + tmpModule.pathname === '' + pathname) {
					// debugger
					let giftInfoDetail = query
					dispatch({ type: 'updateStore', payload: { giftInfoDetail } })
				} // end if
			}) // end listen
		},
	},

	// 方法列表
	effects: {
		*exportExcel({ payload }, { put, call, select }) {
			try {
			const {data,success} = yield call(exportExcel, {...payload.query })
			if (success) {
				if (data) {
				  download(data)
				}
				message.success('操作成功')
			  }
			}catch (e) {
			}
		},
		*batchConfirm({ payload }, { put, call, select }){
			try{
				var {biz} = yield select(state => state[tmpModule.namespace])
				const {data,success} = yield call(batchConfirm, {...payload.params})
				console.log('data',data)
				console.log('success',success)
				if(success){
					message.success('核销成功')
					biz.refreshListDatas(true)
				}
			}catch(e){

			}
		}
	},

	// 存入状态机
	reducers: {
		updateStore(preState, action) {
			return Object.assign({}, preState, action.payload)
		},
	}
}

export default tmpModule
